package com.todo.strategy.pipeline.application.remote;

import com.todo.common.common.entity.response.BizResponse;
import com.todo.strategy.online.service.api.pipeline.request.EnablePStrategyDetailRequest;
import com.todo.strategy.online.service.api.pipeline.request.InsertPStrategyDetailRequest;
import com.todo.strategy.online.service.api.pipeline.request.RemovePStrategyDetailRequest;
import com.todo.strategy.online.service.api.pipeline.request.UpdatePStrategyDetailRequest;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * @author azhebuxing
 * @date 2025/3/1 15:11
 * @description
 */
@FeignClient(name = "todoStrategyOnlineService", url = "http://localhost:18004")
public interface PStrategyPipelineRemoteService {

    @Operation(summary = "插入策略详情")
    @PostMapping("/api/pipeline/pStrategy/insertPStrategyDetail")
    BizResponse<Boolean> insertPStrategyDetail(@RequestBody InsertPStrategyDetailRequest request);

    @Operation(summary = "更新策略详情")
    @PostMapping("/api/pipeline/pStrategy/updatePStrategyDetail")
    BizResponse<Boolean> updatePStrategyDetail(@RequestBody UpdatePStrategyDetailRequest request);

    @Operation(summary = "删除策略详情")
    @PostMapping("/api/pipeline/pStrategy/removePStrategyDetail")
    BizResponse<Boolean> removePStrategyDetail(@RequestBody RemovePStrategyDetailRequest request);

    @Operation(summary = "启/禁用策略详情")
    @PostMapping("/api/pipeline/pStrategy/enablePStrategyDetail")
    BizResponse<Boolean> enablePStrategyDetail(@RequestBody EnablePStrategyDetailRequest request);
}
